#ifndef MUNJIZA_NBS_PAR_H
#define MUNJIZA_NBS_PAR_H

//#include "Munjiza_nbs.h"
#include "detColisao.h"
#include <vector>
//#define TESTE

struct elementosColuna
{
        bool novo;
        SPHERE* listaEsfCel;
};
struct elementosLinha
{
        vector<SPHERE*> esferas;
        bool novo;
};

class Munjiza_nbs_par : public DetecColisao
{
    private:
            double tamCelula;
            elementosLinha* linhas;
            elementosColuna** ColLinhaAtual;
            elementosColuna** ColLinhaPosterior;
            vector<SPHERE*>** linhaProc;
            MODEL *md;
            void iteracao(short int);
            void alocaElementosNaLinha ();
            void alocaElementosNasColunas ();
            void CriaVetorLinha ();
            void CriaVetorLinhaParalelo ();
            void ZeraPonteiros ();
    public:
        Munjiza_nbs_par();
        Munjiza_nbs_par(REAL max_rad, MODEL* pModel,ForcaInteracao* t);
        void iniciaMatriz( REAL max_rad, REAL min_r[2], REAL max_r[2] );

        ~Munjiza_nbs_par();
        void calcular();
};

#endif // MUNJIZA_NBS_PAR_H
